tableview 下拉图片放大

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96

#import "RootViewController.h"

@interface RootViewController ()

@end

@implementation RootViewController

- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view.

self.view.backgroundColor = [UIColor lightGrayColor];

[self setAutomaticallyAdjustsScrollViewInsets:NO];

self.myTableView = [[UITableView alloc] initWithFrame:[[UIScreen mainScreen] bounds] style:UITableViewStylePlain];
[self.view addSubview:self.myTableView];
[_myTableView release];

//设置tableview的contentView距离上边界200
//相对于0点,已经向下偏移了-200
self.myTableView.contentInset = UIEdgeInsetsMake(200.0+64, 0, 0, 0);
self.myTableView.delegate = self;
self.myTableView.dataSource = self;


//相对于0点,图片坐标应该是(0,-200)
self.imageView = [[UIImageView alloc] initWithFrame:CGRectMake(0, -200.0, self.view.frame.size.width, 200)];
self.imageView.image = [UIImage imageNamed:@"hua.jpg"];
//设置imageView高度改变时宽度也跟着改变
self.imageView.contentMode = UIViewContentModeScaleAspectFill;
[self.myTableView addSubview:self.imageView];
[_imageView release];

}


//指定多少行
-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
return 10;
}

//创建一个cell
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
NSString *cellIdentifier = @"cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:cellIdentifier];
if (!cell) {
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:cellIdentifier];

}

cell.textLabel.text = [NSString stringWithFormat:@"%ld",indexPath.row];
cell.selectionStyle = UITableViewCellSelectionStyleNone;

return cell;

}
//设置行高
-(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
return 80;
}
-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
//点击后自动取消选中置灰效果
[tableView deselectRowAtIndexPath:indexPath animated:YES];

}
-(void)scrollViewDidScroll:(UIScrollView *)scrollView
{
//刚开始y的偏移量初始值就是-264
NSLog(@"y1 === %f",scrollView.contentOffset.y);
CGFloat y = scrollView.contentOffset.y + 64;//加上导航栏高度,第一次是-200
NSLog(@"y2 === %f",y);

if (y < -200) {
CGRect frame = self.imageView.frame;
frame.origin.y = y;//imageView的frame是不断往上偏移
frame.size.height = -y;//tablview向下偏移了多少,高度就增加多少
self.imageView.frame = frame;
}

}


- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}


@end
文章目录
|